perm filename AAAI.2[AM,DBL] blob sn#528281 filedate 1980-08-13 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	TALK ONE: REPRESENTATION OF KNOWLEDGE
C00006 00003	TALK TWO: CLOSING REMARKS
C00008 ENDMK
CāŠ—;
TALK ONE: REPRESENTATION OF KNOWLEDGE

Basic Idea: There are different types of knowledge, and different uses
for knowledge, and the choice of representation depends upon these considerations.


OUTLINE

The dramatic effects of change of representation
Trade-Offs, alternatives; ease of changability
The historical development of programming languages for representing knowledge
	Symbol manipulation lang.
	AI planning languages
	AI representation languages
Focus on Semantic Nets
Focus on Frame-based Systems
Focus on Production Rule Systems
Uniting these; current research; current practice.
Issues: a lang vs its interpreter; lang/meaning/KB; repr vs inferencing upon it.


THE DRAMATIC EFFECTS OF CHANGE OF REPRESENTATION

Gelernter Geom. Program
	Proving theorems represented as logical wffs
	The tremendous gain from "drawing the diagram", from analogic models
		Noticing equal angles and lengths, which become lemmata.
Amarel M&C
	Size of the initial problem (with all 6 indivs. distinguished)
	Table of reductions as the repr. is changed
	Final Z-graphical repr. gives the soln by inspection
Data Structures
	In choosing a data structure to hold a list, if insertions and deletions
	will be frequent, a linked list is much more efficient than an array.



HISTORY


late 50's:  Symbol Processing Languages (IPL LISP, SmallTalk)

Automatic Storage Management (GC)
Automatic Symbol Management (Atoms)
Associative Lookup (Property lists)
Recursive control (Stack)


late 60's:  AI Planning Languages (QA4, Planner, Conniver)

Worlds (contexts)
n-ary propositions (assertioaal database)
Smart indexing (pattern matching)
Data-driven control (demons, goal-directed invocation)

late 70's: Representation Languages (KRL, FRL, Units, KLONE, OWL)

Modularization of knowledge (units, slots, prototypes)
Structural Abstraction (hierarchy of knowledge)
Automatic Inferencing (inheritance, smart pattern-matching)
Procedural attachment (triggers and traps)
Multiprocessing (agendae, asynchronous process sprout/prune)


TALK TWO: CLOSING REMARKS

Basic Idea: KE expands the useful roles of computers.

We can easily build computer programs to perform some tasks;
by employing knowledge engineering techniques, the number and kind of
such "doable" tasks is increased.

Current Applications and Research Projects
	Survey
	  esp: High impact applications

Role of the computer
	Multiple roles (multiple uses of a KB)
	Paper recorder; automaton calculator; 
		algorithmic computer; technical assistant;
		equastatus co-worker; creative superior.

Starting a project
	Deliverables vs Journal articles (state of the art; limits)
	Hiring some knowledge engineer(s)  (where, how, how many; consultants)
	Choosing a role for the computer to play
	Equipment required, resources in personnel, time, money, etc.
	Managing the project
		timetables, expectations, measuring progress

More Information
	An annotated guide to the literature of AI in general and KE in particular
	Sources for tech reports, thesis talks, consultants
	Sending employees to learn more (MSAI, AAAI, IJCAI, Grad Spec/Honors Coop,
		Industrial Affiliates Program, joint research)

The verdict

Discussion / Questions (on any of today's material)